From e99e4f13cef7079512f1f58ff7942bc405982547 Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Wed, 13 Apr 2016 21:48:06 +0100 Subject: [PATCH] fs: Add MODULE_SOFTDEP declarations for hard-coded crypto drivers This helps initramfs builders and other tools to find the full dependencies of a module. Signed-off-by: Ben Hutchings [Lukas Wunner: Forward-ported to 4.11: drop parts applied upstream] Gbp-Pq: Topic bugfix/all Gbp-Pq: Name fs-add-module_softdep-declarations-for-hard-coded-cr.patch --- fs/btrfs/super.c | 1 + fs/crypto/crypto.c | 1 + fs/ext4/super.c | 8 ++++++++ fs/f2fs/super.c | 1 + fs/jbd2/journal.c | 1 + fs/nfsd/nfsctl.c | 3 +++ 6 files changed, 15 insertions(+) diff --git a/fs/btrfs/super.c b/fs/btrfs/super.c index 3a4dce15364..7862b900b13 100644 --- a/fs/btrfs/super.c +++ b/fs/btrfs/super.c @@ -2474,3 +2474,4 @@ late_initcall(init_btrfs_fs); module_exit(exit_btrfs_fs) MODULE_LICENSE("GPL"); +MODULE_SOFTDEP("pre: crypto-crc32c"); diff --git a/fs/crypto/crypto.c b/fs/crypto/crypto.c index 732a786cce9..6f0e2b8f016 100644 --- a/fs/crypto/crypto.c +++ b/fs/crypto/crypto.c @@ -467,3 +467,4 @@ static void __exit fscrypt_exit(void) module_exit(fscrypt_exit); MODULE_LICENSE("GPL"); +MODULE_SOFTDEP("pre: crypto-aes crypto-ecb"); diff --git a/fs/ext4/super.c b/fs/ext4/super.c index 7c46693a14d..fe6b63dbfdf 100644 --- a/fs/ext4/super.c +++ b/fs/ext4/super.c @@ -5860,5 +5860,13 @@ static void __exit ext4_exit_fs(void) MODULE_AUTHOR("Remy Card, Stephen Tweedie, Andrew Morton, Andreas Dilger, Theodore Ts'o and others"); MODULE_DESCRIPTION("Fourth Extended Filesystem"); MODULE_LICENSE("GPL"); + +#ifdef CONFIG_EXT4_FS_ENCRYPTION +#define EXT4_ENC_EXTRA_SOFTDEPS " crypto-aes crypto-ecb" +#else +#define EXT4_ENC_EXTRA_SOFTDEPS "" +#endif +MODULE_SOFTDEP("pre: crypto-crc32c" EXT4_ENC_EXTRA_SOFTDEPS); + module_init(ext4_init_fs) module_exit(ext4_exit_fs) diff --git a/fs/f2fs/super.c b/fs/f2fs/super.c index 708155d9c2e..5ff1e5f14b5 100644 --- a/fs/f2fs/super.c +++ b/fs/f2fs/super.c @@ -2902,4 +2902,5 @@ module_exit(exit_f2fs_fs) MODULE_AUTHOR("Samsung Electronics's Praesto Team"); MODULE_DESCRIPTION("Flash Friendly File System"); MODULE_LICENSE("GPL"); +MODULE_SOFTDEP("pre: crypto-crc32c"); diff --git a/fs/jbd2/journal.c b/fs/jbd2/journal.c index 67546c7ad47..5f8681b9051 100644 --- a/fs/jbd2/journal.c +++ b/fs/jbd2/journal.c @@ -2713,6 +2713,7 @@ static void __exit journal_exit(void) } MODULE_LICENSE("GPL"); +MODULE_SOFTDEP("pre: crypto-crc32c"); module_init(journal_init); module_exit(journal_exit); diff --git a/fs/nfsd/nfsctl.c b/fs/nfsd/nfsctl.c index d107b4426f7..53c0dcf84d3 100644 --- a/fs/nfsd/nfsctl.c +++ b/fs/nfsd/nfsctl.c @@ -1334,5 +1334,8 @@ static void __exit exit_nfsd(void) MODULE_AUTHOR("Olaf Kirch "); MODULE_LICENSE("GPL"); +#ifdef CONFIG_NFSD_V4 +MODULE_SOFTDEP("pre: crypto-md5"); +#endif module_init(init_nfsd) module_exit(exit_nfsd) -- 2.30.2